﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using EntitiesLayer;
using DAL.Repositorios;
using DAL;
using DAL.Repositories;

namespace BLL
{
    public class GestorPlanEntrenamiento
    {
        IRepository<PlanEntrenamiento> planRepo;

        public GestorPlanEntrenamiento() {

            planRepo = UnitOfWork.RepositoryPlanE;
        }

        public IEnumerable<ObjetivoPE> listarObjetivos(){
            
            return UnitOfWork.RepositoryObjetivos.GetAll();
        }

        public IList<PlanEntrenamiento> consultarPlanesCliente(int idCliente){

            Cliente cliente = UnitOfWork.ClienteRepository.GetById(idCliente);

            return cliente != null ? cliente.ListaPlanes : null;
        }
        public void RegistarPlan(PlanEntrenamiento.BuilderPlan plan){

            planRepo.Insert(plan.Build()); 

        }

        public void modificarPlanEntrenamiento(PlanEntrenamiento.BuilderPlan planB) {

            planRepo.Update(planB.Build());
        
        }

        

        public PlanEntrenamiento consultarPlanPorId(int idPlan) {

            return planRepo.GetById(idPlan);
        }


        public void guardarCambios() {

            planRepo.Save();
        }


    }
}
